home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio / Ham Radio CD-ROM (Emerald Software) (1995).ISO / misc / utilitys / ycalc.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-01  |  4.3 KB  |  112 lines

  1. 10  PRINT;"**********AMP-CALC USING Y-PARAMETERS*********************
  2. 12  PI=3.1416
  3. 15  PRINT;" THIS IS A PROGRAM TO CALCULATE AMPLIFIER COEFFICIENTS
  4. 16  PRINT:PRINT;" USING Y-PARAMETERS
  5. 20  REM:  V1... 5/84
  6. 25  PRINT:PRINT,"K2UYH ---- modified for ibm pc --- wa2tif":PRINT
  7. 30  REM PRECISION 4
  8. 40  REM************COMPLEX ARITHMATIC ROUTINES*******************
  9. 50  DIM YR(2,2), YX(2,2), YM(2,2), YA(2,2),RD(2),ZR(2),ZX(2)
  10. 55  DG =180/PI:ZO=50
  11. 60  DEF FNMR(AR,AX,BR,BX)= AR*BR-AX*BX
  12. 70  DEF FNMX(AR,AX,BR,BX)= AR*BX+AX*BR
  13. 80  DEF FNDR(AR,AX,BR,BX)=(AR*BR+AX*BX)/(BR^2+BX^2)
  14. 90  DEF FNDX(AR,AX,BR,BX)=(AX*BR-AR*BX)/(BR^2+BX^2)
  15. 100  DEF FNMG(AR,AX)=SQR(AR^2+AX^2)
  16. 130  DEF FNR(MG,AG)=MG*COS(AG/DG)
  17. 140  DEF FNX(MG,AG)=MG*SIN(AG/DG)
  18. 150  REM*****************INITIAL & Y-PARAMETERS I/O**************160 PRINT: PRINT "PROGRAM FOR CALCULATING SMALL SIGNAL AMPLIFIER CHARACTERISTICS"
  19. 170  PRINT: PRINT" Y-PARAMETER ANGLES IN DEGREES"
  20. 190  PRINT:INPUT"PARAMETER FORM = ('POL' OR 'RECT' OR 'FILE')";Q$
  21. 200  IF Q$="POL" THEN 240 ELSE IF Q$="RECT" THEN 300 ELSE IF Q$="FILE" THEN 210 ELSE 190
  22. 210  PRINT: INPUT "PARAMETER FILE NAME OR DIR OR QUIT";F$: PRINT
  23. 220  IF F$="DIR" THEN DIR"*.S": GOTO 210 ELSE IF F$="QUIT" THEN 190 ELSE F$=F$+".S"
  24. 230  OPEN #1,"I",F$: MAT READ #1,YR,YX,YM,YA: GOTO 390
  25. 240  FOR J=1 TO 2: FOR I=1 TO 2
  26. 250  PRINT "MAG OF Y("; I; ","; J;")=";: INPUT YM(I,J)
  27. 260  PRINT "ANG OF Y("; I; ","; J;")=";: INPUT YA(I,J)
  28. 270  YR(I,J)=FNR(YM(I,J),YA(I,J)): PRINT "REAL OF Y("; I; ","; J; ")="; YR(I,J)
  29. 280  YX(I,J)=FNX(YM(I,J),YA(I,J)):PRINT "IMAG. OF Y("; I; ","; J;  ")="; YX(I,J)
  30. 290  PRINT: NEXT: NEXT: GOTO 360
  31. 300  FOR J=1 TO 2: FOR I=1 TO 2
  32. 310  PRINT "REAL OF Y("; I; ","; J; ")=";: INPUT YR(I,J)
  33. 320  PRINT "IMG OF Y("; I; ","; J; ")=";: INPUT YX(I,J)
  34. 330  YM(I,J)=FNMG(YR(I,J),YX(I,J)): PRINT "MAG Y("; I; ","; J; ")="; YM(I,J)
  35. 335  GOSUB 1280
  36. 340  YA(I,J)=FNAG(YR(I,J),YX(I,J)): PRINT "ANGLE Y("; I; ","; J; ")="; YA(I,J)
  37. 350  PRINT: NEXT:NEXT
  38. 360  INPUT "WANT OF SAVE FILE (Y/N)"; Q$: IF Q$<>"Y" THEN 390
  39. 370  INPUT "FILE NAME";F$:F$=F$+".S":ERASE F$:OPEN #1,"O",F$
  40. 380  MAT WRITE #1, YR,YX,YM,YA: CLOSE #1
  41. 390  REM**************COMMON PRODUCTS**************************
  42. 400  PR=FNMR(YR(1,2),YX(1,2),YR(2,1),YX(2,1))
  43. 410  PX=FNMX(YR(1,2),YX(1,2),YR(2,1),YX(2,1))
  44. 420  RD(1)= YR(1,1)*YR(2,2)
  45. 430  RD(2)= YX(1,1)*YX(2,2)
  46. 500  REM*********************STABILITY COMPUTATIONS**************
  47. 510  REM*** USING LINVILL'S STABILITY FACTOR********************
  48. 520  C=FNMG(PR,PX)/(2*RD(1)-PR)
  49. 530  PRINT: PRINT"AMPLIFIER WILL BE STABLE WITH CONJUGATE MATCHED SOURCE AND LOAD IF C<1: C ="; C
  50. 540  IF C>1 THEN PRINT:PRINT "UNSTABLE": PRINT: GOTO 5000
  51. 550  REM*****COMPUTATIONS FOR SIMULTANEOUS CONJUGATE MATCH*******
  52. 560  REM: SOURCE COMPUTATIONS
  53. 570  GS= SQR((2*RD(1)-PR)^2-(FNMG(PR,PX))^2)/(2*YR(2,2))
  54. 580  BS= -YX(1,1)+ PX/(2*YR(2,2))
  55. 590  SR=GS/(GS^2+BS^2)
  56. 600  SX=-BS/(GS^2+BS^2)
  57. 605  PRINT"OPT. SOURCE CONDUCTANCE(G)= "; GS
  58. 610  PRINT "OPT. SOURCE SUSCEPTANCE(B)= ";BS
  59. 620  PRINT "OPT. REAL OF SOURCE Z ="; SR
  60. 630  PRINT "OPT. IMG OF SOURCE Z ="; SX
  61. 640  REM: LOAD COMPUTATIONS
  62. 645  GL= (GS*YR(2,2))/YR(1,1)
  63. 660  BL= -YX(2,2)+PX/(2*YR(1,1))
  64. 670  LR=GL/(GL^2+BL^2)
  65. 680  LX=-BL/(GL^2+BL^2)
  66. 690  PRINT: PRINT: PRINT
  67. 700  PRINT "OPT. LOAD CONDUCTANCE(G)= "; GL
  68. 710  PRINT "OPT. LOAD SUSCEPTANCE(B) = ";BL
  69. 720  PRINT "OPT. REAL OF LOAD Z = "; LR
  70. 730  PRINT "OPT. IMG. OF LOAD Z = "; LX
  71. 800  REM***********ROUTINE TO PRINT HARDCOPY********************
  72. 810  PRINT: PRINT: INPUT "DO YOU WANT A HARDCOPY (Y/N)?";H$
  73. 820  IF H$<> "Y" THEN 1000
  74. 830  LPRINT, "OPT. SOURCE CONDUCTANCE(G)= ";GS
  75. 840  LPRINT, "OPT. SOURCE SUSCEPTANCE(B)= ";BS
  76. 850  LPRINT, "OPT. REAL OF SOURCE Z = ";SR
  77. 860  LPRINT, "OPT. IMG OF SOURCE Z = ";SX
  78. 870  LPRINT: LPRINT:LPRINT, "OPT. LOAD CONDUCTANCE(G)= ";GL
  79. 880  LPRINT, "OPT. LOAD SUSCEPTANCE(B)= ";BL
  80. 890  LPRINT, "OPT. REAL OF LOAD Z = ";LR
  81. 900  LPRINT, "OPT. IMG OF LOAD Z = ";LX
  82. 1000  REM****COMPUTATIONS FOR MAXIMUM AVAILABLE GAIN**********
  83. 1010  MG = YM(2,1)^2/(4*RD(1))
  84. 1020   PRINT: PRINT"MAXIMUM AVAILABLE GAIN = "; MG
  85. 1030  EG= 10*LOG10(MG)
  86. 1040  PRINT "MAXIMUM AVAILABLE GAIN IN DB = "; EG
  87. 1050  REM******COMPUTATIONS OF TRANSDUCER GAIN*****************
  88. 1060  ZR(1)= YR(1,1)+GS
  89. 1070  ZX(1)= YX(1,1)+BS
  90. 1080  ZR(2)= YR(2,2)+GL
  91. 1090  ZX(2)= YX(2,2)+BL
  92. 1100  QR= FNMR(ZR(1),ZX(1),ZR(2),ZX(2))
  93. 1110  QX=FNMX(ZR(1),ZX(1),ZR(2),ZX(2))
  94. 1120  TR = QR - PR
  95. 1130  TX = QX - PX
  96. 1140  GT=(4*GS*GL*YM(2,1)^2)/(FNMG(TR,TX))^2
  97. 1150  PRINT: PRINT "TRANSDUCER GAIN = "; GT
  98. 1160  DT= 10*LOG(GT)/LOG(10)
  99. 1170  PRINT"TRANSDUCER GAIN IN DB = "; DT
  100. 1200  REM*************ROUTINE TO PRODUCE HARDCOPY***************
  101. 1210  PRINT:PRINT:PRINT "DO YOU WANT A HARDCOPY (Y/N)?";H$
  102. 1220  IF H$ <> "Y" THEN 5000
  103. 1230  LPRINT:LPRINT: LPRINT, "MAXIMUM AVAILABLE GAIN = ";MG
  104. 1240  LPRINT, "MAXIMUM AVAILABLE GAIN IN DB = ";DG
  105. 1250  LPRINT, "TRANSDUCER GAIN = "; GT
  106. 1260  LPRINT, "TRANSDUCER GAIN IN DB= "DT
  107. 1270  END
  108. 1280  IF AR>0 THEN GOTO 1290 ELSE GOTO 1300
  109. 1290  DEF FNAG(AR,AX)=DG*ATN(AR/AX):RETURN
  110. 1300  DEF FNAG(AR,AX)=DG*(ATN(AR/AX)+PI):RETURN
  111. 5000  END
  112.